home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Cream of the Crop 22
/
Cream of the Crop 22.iso
/
os2
/
ext2_200.zip
/
README.32
< prev
next >
Wrap
Text File
|
1996-09-23
|
3KB
|
57 lines
FEATURES AND RESTRICTIONS OF THE 32 BITS VERSION OF EXT2-OS2 :
--------------------------------------------------------------
OS/2 Requirements :
- MERLIN BETA : seems to work OK.
- OS/2 WARP : fixpack 17 or higher is required. Bare OS/2
WARP (no fixpack) should be OK but I did not
test it.
- OS/2 2.x : not supported.
- OS/2 1.x : not supported.
Restrictions over the 16 bits implementation :
- This version cannot boot OS/2 from a Linux partition yet.
To boot OS/2 from a Linux partition you must use the 16
bits version. This will be corrected in a future version.
Benefits of the 32 bits version :
- Now it can be compiled with a modern compiler (Visualage C++)
Old MS junks are no longer necessary (at least for ext2-os2.ifs)
- Larger cache sizes can be used than with the 16 bits version.
(system limits are a lot higher).
- In some area, a significant performance gain can be observed
(eg 25% on a 16 Mb file write).
How does it work ?
OS/2 still has a 16 bits Physical Device Driver model, as well
as a 16 bits IFS model. An IFS is actually a library with a
predefined set of entry points to perform file I/O operations.
These entry points are 16 bits protect mode. The first thing each
entry point does is to load 32 bits FLAT segment registers and jump
to the 32 bits routine performing the actual operation. Before doing
the actual job, 16 bits pointers passed to the routine are converted
to 32 bits pointers using a kernel helper. This process is known as
"thunking". In OS/2 kernel mode, this thunking is fast and efficient
since stack switching is not required (the stack segment register
is not reloaded).
At some point, the IFS may need to call the kernel for some
services. Here again, as the kernel services are 16 bits entry points
(Device Helpers, File System Helpers), this thunking process is
necessary. To do this I wrote an interface to Device Helpers callable
from 32 bits Visualage C++ code. Since this interface is generic and
independant from ext2-os2.ifs, I isolated it in a separate driver
(mwdd32.sys) so that other clients than ext2-os2.ifs can use it.
Installation notice :
a new component (mwdd32.sys) is necessary to make ext2-os2.ifs work.
Don't remove mwdd32.sys from CONFIG.SYS !!
Developping other 32 bits IFS or device drivers :
Other device drivers and IFS can profit from the facilities I had to
implement to port ext2-os2 to 32 bits. The package includes the file
32drv120.zip, which contains mwdd32.sys sources, as well as skeletons
of a 32 bits BASEDEV and a 32 bits IFS.
Matthieu WILLM (willm@ibm.net)